package com.xiaobingby.admin.sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaobingby.admin.sys.dto.UserDetailsDto;
import com.xiaobingby.admin.sys.dto.UserDto;
import com.xiaobingby.admin.sys.entity.User;

/**
 * <p>
 * sys_user 用户表 服务类
 * </p>
 *
 * @author XiaoBingBy
 * @since 2018-10-29
 */
public interface IUserService extends IService<User> {

    /**
     * 添加用户
     *
     * @param user
     * @return
     */
    void addUser(UserDto userDto);

    /**
     * 更新用户
     *
     * @param userDto
     */
    void updateUser(UserDto userDto);

    /**
     * 删除用户及关联角色
     *
     * @param ids
     * @return
     */
    boolean deleteUserRole(Long[] ids);

    /**
     * 通过用户ID查询 用户角色关系数据
     *
     * @param id
     */
    UserDto findUserRolesInfo(Integer id);

    UserDetailsDto loadUserByUsername(String username);


}
